package com.syn;

import java.util.Map;

/**
 * 表单操做抽象类
 */
public abstract class AbstractFormAction {
    /**
     * 冗余字段操做管理类实例
     */
//    private RedundantDataUpdateMgr redundantDataUpdateMgr = RedundantDataUpdateMgr.getInstance();

    /**
     * 表单建立操做，包含自动初始化表单数据操做
     */
    public Object create(Map paramMap)
    {
        Object object = createObject(paramMap);
        // 根据字段映射配置关系自动对新建立的对象进行初始化
//        return redundantDataUpdateMgr.initRedundantData(formId,actionId,object);
        return null;
    }

    /**
     * 表单保存操做，包含自动同步表单数据操做
     */
    public void save(Object object)
    {
        object = this.saveObject(object);
        // 根据字段映射配置关系自动对新建立的对象进行更新
//        redundantDataUpdateMgr.updateRedundantData(formId,actionId,object);
    }

    /**
     * 抽象方法，由子类具体实现
     */
    protected abstract Object createObject(Map paramMap);

    /**
     * 抽象方法，由子类具体实现
     */
    protected abstract Object saveObject(Object object);
}
